/********************************************************************
	created:	2012/3/26
	filename: 	2DSkeleton.h 
	author:		Metalgearray
	
	purpose:	Definitions for 2D skeleton system support
*********************************************************************/
#ifndef SKELETON2D_h__
#define SKELETON2D_h__

#include "Actor.h"
#include "Math/GWMatrix.h"
#include "TiledSolidGeometry.h"

class Bone2D;
class Skeleton2D;

Bone2D* CreateBone2D();
Skeleton2D* CreateSkeleton2D();

class Bone2D : public Actor
{
public:
	Bone2D();
	//~Bone2D();

	virtual void Render();
	//virtual void Update();

private:
	char*						m_Name;

	Matrix4						m_TransMat;
	Bone2D*						m_FirstChild;
	Bone2D*						m_FirstSibling;
};

class Skeleton2D : public Actor
{
	friend class Bone2D;

public:
	Skeleton2D();

	void LoadSkeleton2D();
	virtual void Render();

protected:
	unsigned int				m_BoneCount;
	Bone2D*						m_Bones;
};

#endif // SKELETON2D_h__
